home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d27
/
copysavf.arc
/
CPP3420.CLP
next >
Wrap
Text File
|
1991-12-04
|
4KB
|
72 lines
CPP3420: PGM PARM(&SAVF &FILE &MBR &CRTFILE &REPLACE)
/* Program name - CPP3420 */
/* Copy from a Save File CPP */
/* Command processing program for CPYFRMSAVF */
DCL &SAVF *CHAR 20 /* Save file name */
DCL &FILE *CHAR 20 /* Target file name */
DCL &MBR *CHAR 10 /* Target file member name */
DCL &CRTFILE *LGL 1 /* Create Target file? */
DCL &REPLACE *LGL 1 /* Replace Target file data? */
DCL &ERRORCODE *LGL 1 /* Error while proceesing */
MONMSG MSGID(CPF0000) EXEC(GOTO ENDPGM)
CHKOBJ OBJ(%SST(&SAVF 01 10).%SST(&SAVF 11 10)) +
OBJTYPE(*FILE)
MONMSG MSGID(CPF9801) EXEC(DO)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Save +
file:' *BCAT %SST(&SAVF 01 10) *TCAT '.' +
*CAT %SST(&SAVF 11 10) *BCAT 'was not +
found') MSGTYPE(*DIAG)
GOTO CMDLBL(ENDPGM)
ENDDO
CHKOBJ OBJ(%SST(&FILE 01 10).%SST(&FILE 11 10)) +
OBJTYPE(*FILE)
MONMSG MSGID(CPF9801) EXEC(DO)
IF COND(&CRTFILE) THEN(DO)
CRTFILE: CRTPF FILE(%SST(&FILE 01 10).%SST(&FILE 11 10)) +
RCDLEN(528) OPTION(*NOLIST *NOSRC) +
FILETYPE(*DATA) MBR(*NONE) MAXMBRS(*NOMAX) +
SIZE(20000 20000 10) TEXT('Q38-SaveFile +
database file')
ENDDO
ELSE CMD(DO)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('File' +
*BCAT %SST(&FILE 01 10) *TCAT '.' *CAT +
%SST(&FILE 11 10) *BCAT 'not found') +
MSGTYPE(*DIAG)
GOTO ENDPGM
ENDDO
ENDDO
IF COND(&MBR *EQ '*SAVF') THEN(DO)
CHGVAR VAR(&MBR) VALUE(%SST(&SAVF 01 10))
ENDDO
CHKOBJ OBJ(%SST(&FILE 01 10).%SST(&FILE 11 10)) +
OBJTYPE(*FILE) MBR(&MBR)
MONMSG MSGID(CPF9815) EXEC(DO)
ADDPFM FILE(%SST(&FILE 01 10).%SST(&FILE 11 10)) +
MBR(&MBR) TEXT('Q38 - Save file:' *BCAT +
%SST(&SAVF 01 10) *TCAT '.' *CAT %SST(&SAVF +
11 10))
ENDDO
IF COND(&REPLACE) THEN(DO)
CLRPFM FILE(%SST(&FILE 01 10).%SST(&FILE 11 10)) +
MBR(&MBR)
ENDDO
OVRSAVF FILE(CPP3421I) TOFILE(%SST(&SAVF 01 +
10).%SST(&SAVF 11 10))
OVRDBF FILE(CPP3421O) TOFILE(%SST(&FILE 01 +
10).%SST(&FILE 11 10)) MBR(&MBR)
CALLPGM: CALL PGM(CPP3421) PARM(&ERRORCODE)
IF COND(&ERRORCODE) THEN(DO)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Error +
occurred while processing save file. +
Unpredictable data may be in file' *BCAT +
%SST(&FILE 01 10) *TCAT '.' *CAT %SST(&FILE +
11 10)) MSGTYPE(*DIAG)
ENDDO
ENDPGM: ENDPGM